﻿// --------------------------------------------------------------------------------------------------------------------
// <copyright file="MockDelegates.cs" company="JDML Consulting Ltd.">
//   Copyright 2011 Photon Project - http://photon.codeplex.com
// </copyright>
// <summary>
//   Defines the MockDelegates type.
// </summary>
// --------------------------------------------------------------------------------------------------------------------

namespace Photon.Threading.Mocks
{
    using System;

    public class MockDelegates
   {
      public static readonly Action DoNothing = DoNothingAction;

      public static readonly Action DoNothingAndThrowFailure = DoNothingAndThrowFailureAction;
      
      public static readonly Action DoNothingAndThrowSuccess = DoNothingAndThrowSuccessAction;

      public static readonly Func<string> DoNothingAndReturnSuccess = DoNothingAndReturnSuccessFunc;

      private static string DoNothingAndReturnSuccessFunc()
      {
         return TestStrings.Success;
      }

      private static void DoNothingAction()
      {
         
      }

      private static void DoNothingAndThrowFailureAction()
      {
         throw new Exception(TestStrings.Failure);
      }

      private static void DoNothingAndThrowSuccessAction()
      {
         throw new Exception(TestStrings.Success);
      }
   }
}
